// 随机
function getRandoInt(min, max) {
  return Math.floor(Math.random() * (max - min + 1) + min)
}

export function shuflle(arr) {
  let _arr = arr.slice();
  for (let i = 0; i < _arr.length; i++) {
    let j = getRandoInt(0, i)
    let t = _arr[i]
    _arr[i] = _arr[j]
    _arr[j] = t
  }
  return _arr
}

// 截流函数

export function debounce(func, delay) {
  let timer
  return function (...argut) {
    if (timer) {
      clearTimeout(timer)
    }
    timer = setTimeout(() => {
      // JavaScript中的每一个Function对象都有一个apply()方法和一个call()方法
      // apply：调用一个对象的一个方法，用另一个对象替换当前对象。例如：B.apply(A, arguments);即A对象应用B对象的方法。
      func.apply(this, argut)
    }, delay)
  }
}
